package com.jade.journal;

import java.io.IOException;
import java.io.OutputStream;

/**
 * 日志格式化器，主要用于文件等流式操作的Appender，不适用于数据库这类的Appender。
 *
 * @author Daisy
 * @version 1.0 14-9-21 下午8:32
 */
public interface JournalFormat
{
    /**
     * 格式化日志事件头信息。
     *
     * @param event 日志事件
     * @param out   日志输出
     */
    public void formatHeader(JournalEvent event, OutputStream out, String encoding)
            throws IOException;

    /**
     * 格式化日志事件
     *
     * @param event 日志事件
     * @param out   日志输出
     */
    public void format(JournalEvent event, OutputStream out, String encoding)
            throws IOException;
}
